package Cliente;
//@Jefferson Helton

import LinkDB.LinkDB;
import com.mysql.jdbc.PreparedStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;

public class RepositorioCliente implements InterfaceCliente {

    @Override
    public void inserirCliente(String cpf, String nome, String rg, String orgaoexpeditor,
    String sexo, String email, String profissao, String nacionalidade, String endereco,
    String cep, String cidade, String uf, String pais, String celular, String aniversario,
    String fumante, String deffisico, String empresa, String cnpj, String ctipo,
    String cnumero, String cvalidade, String ccodseg, String convmedico) {
        
    
        //Conversões
        long refCpf = Long.parseLong(cpf);
        SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
        java.sql.Date refAniversario = null;
        java.sql.Date refCvalidade = null;
        
        
        try {
            refAniversario = new java.sql.Date(format.parse(aniversario).getTime());
            refCvalidade = new java.sql.Date(format.parse(cvalidade).getTime());
            
        } catch (ParseException ex) {
            //
        }
        
        Cliente cli = new Cliente (refCpf, nome, rg, orgaoexpeditor, sexo, email,
                profissao, nacionalidade, endereco, cep, cidade, uf, pais, celular,
                refAniversario, fumante, deffisico, empresa, cnpj, ctipo, cnumero,
                refCvalidade, ccodseg, convmedico);
        
        Connection conn;
        String query;
        PreparedStatement stmt;
        
        try {
            conn = LinkDB.getConnection();
            
            query = "INSERT INTO cliente (cpf, nome, rg, orgaoexpeditor, sexo,"
                    + " email, profissao, nacionalidade, endereco, cep, cidade,"
                    + " uf, pais, celular, aniversario, fumante, deffisico,"
                    + " empresa, cnpj, ctipo, cnumero, cvalidade, ccodseg, convmedico)"
                    + " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            stmt = (PreparedStatement) conn.prepareStatement(query);
            
            stmt.setLong(1, cli.getCpf());
            stmt.setString(2, cli.getNome());
            stmt.setString(3, cli.getRg());
            stmt.setString(4, cli.getOrgaoexpeditor());
            stmt.setString(5, cli.getSexo());
            stmt.setString(6, cli.getEmail());
            stmt.setString(7, cli.getProfissao());
            stmt.setString(8, cli.getNacionalidade());
            stmt.setString(9, cli.getEndereco());
            stmt.setString(10, cli.getCep());
            stmt.setString(11, cli.getCidade());
            stmt.setString(12, cli.getUf());
            stmt.setString(13, cli.getPais());
            stmt.setString(14, cli.getCelular());
            stmt.setDate(15, cli.getAniversario());
            stmt.setString(16, cli.getFumante());
            stmt.setString(17, cli.getDeffisico());
            stmt.setString(18, cli.getEmpresa());
            stmt.setString(19, cli.getCnpj());
            stmt.setString(20, cli.getCtipo());
            stmt.setString(21, cli.getCnumero());
            stmt.setDate(22, cli.getCvalidade());
            stmt.setString(23, cli.getCcodseg());
            stmt.setString(24, cli.getConvmedico());
            
            stmt.executeUpdate();
            
            stmt.close();
            conn.close();
            
            
        }catch (SQLException | ClassNotFoundException ex) {
            Logger.getLogger(RepositorioCliente.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    @Override
    public void alterarCliente(String cpf, String nome, String rg, String orgaoexpeditor,
    String sexo, String email, String profissao, String nacionalidade, String endereco,
    String cep, String cidade, String uf, String pais, String celular, String aniversario,
    String fumante, String deffisico, String empresa, String cnpj, String ctipo,
    String cnumero, String cvalidade, String ccodseg, String convmedico) {
        
    }

    @Override
    public void excluirCliente(String cpf) {
        
    }

    @Override
    public Cliente ConsultarClientePorPassaport(String cpf) {
      return null;
    }

    @Override
    public Cliente ConsultarClientePorNome(String nome) {
      return null;  
    }

    @Override
    public Cliente ConsultarClientePorRg(String rg) {
      return null;  
    }

    @Override
    public Cliente ConsultarClientePorNacionalidade(String nacionalidade) {
      return null;  
    }

    @Override
    public Cliente ConsultarClientePorSexo(String sexo) {
      return null;  
    }

    @Override
    public Cliente ConsultarClientePorDeficienteFisico(String deffisico) {
      return null;  
    }

    @Override
    public Cliente ConsultarClientePorEmpresa(String empresa) {
      return null;  
    }
    
    
    
}
